package org.ehe.business.bom.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ehe.common.mybatis.core.domain.BaseEntity2;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * BOM主表实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_bom_master")
public class BomMaster extends BaseEntity2 {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * BOM编码
     */
    private String bomCode;

    /**
     * BOM名称
     */
    private String bomName;

    /**
     * 关联项目ID
     */
    private Long projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 设计稿Id
     */
    private Long drawId;

    /**
     * 产品名称
     */
    private Long solutionId;
    private String solutionName;

    /**
     * BOM类型：1-设计BOM 2-工艺BOM 3-制造BOM
     */
    private Integer bomType;

    /**
     * 当前版本号
     */
    private String currentVersion;

    /**
     * 状态：0-草稿 1-审批中 2-已发布 3-已废弃
     */
    private String status;

    /**
     * 工作流实例ID
     */
    private Long workflowInstanceId;

    /**
     * 生效日期
     */
    private Date effectiveDate;

    /**
     * 失效日期
     */
    private Date expireDate;

    /**
     * 备注
     */
    private String remark;

    private String approveStatus;
    /**
     * 预估完成小时数
     */
    private Integer estimatedHours;
    /**
     * 任务截止时间
     */
    private LocalDateTime taskDeadline;

    /**
     * 任务是否超期
     */
    private String isTaskTimeout;

    /**
     * 响应是否超期：处理状态：0-未处理，1-已处理，2-已超期,3-超期未处理，4超期已处理
     */
    private String isOverdue;

    /**
     * 响应 截止时间
     */
    private LocalDateTime isOverdueEndTime;
}
